The present invention generally relates to graphic output of text, and more particularly relates to typographic glyph construction of a user""s input text within a computer system.
Current computer systems provide individuals with opportunities to produce documents of professional quality, such as with desktop publishing software and graphics software programs. The ability to manipulate the appearance of the text within these programs is vital in allowing users greater flexibility and creativity in document production. Included in these manipulations are changes in fonts, justification, size, and other aspects of the appearance, such as bolding and italicizing.
Although most programs can perform manipulations with some level, of success, each program has a limitation in its range of manipulations due to design considerations. Some programs, such as QuickDraw GX from Apple Computer, Cupertino, Calif., provide more sophistication and enhanced capabilities than other programs to allow more choices for users. Unfortunately, these enhanced capabilities are normally not transferable to other programs. Thus, attempts to incorporate such capabilities, such as different fonts, from one program into another are also usually quite limited and typically unsuccessful.
Accordingly, a need exists for a flexible and portable system that allows accurate and efficient manipulations of textual data in a graphics system. The present invention addresses such a need.
The present invention provides method, apparatus, and system aspects that construct typographic glyphs. In a first aspect, an apparatus for typographic glyph construction of input text in a graphics system running on a computer system and output on an output device of the computer system includes a line layout core unit that receives glyph codes and layout controls from the graphics system and determines glyph data descriptions. The apparatus further includes a glyph cache unit coupled to the line layout core unit for receiving the glyph data descriptions and determining if glyph data is in the glyph cache unit. In addition, the apparatus includes an open font architecture services unit coupled to the glyph cache unit for permitting support of multiple font file formats, at least one scaler unit coupled to the open font architecture unit for receiving requests from the open font architecture unit and interpreting font data within a font file, and a font object management unit coupled to the at least one font scaler and handling requests for the font data. The apparatus also includes an attribute group support unit coupled to manipulation of a data structure, the data structure for providing communication amongst the line layout core unit, the glyph cache unit, the open font architecture services unit, the font scaler unit, and the font object management unit.
In accordance with a further aspect of the present invention, a method for processing input text in a graphics system running on a computer system and displaying typographic glyphs on a display device of the computer system includes mapping the input text into glyph codes, and forming an initial glyph record array, the initial glyph record array comprising a plurality of glyph records for the glyph codes. The method further includes processing a layout of the glyph codes to produce an updated glyph record array, rendering the updated glyph record array to produce a final glyph record array, and rendering a display of the typographic glyph output from the final glyph record array.
In a further aspect of the present invention, a system for typographic glyph construction includes a graphics system, a glyph server coupled to the graphics system, and an operating system coupled to the glyph server.